package edu.tjpu.share.util;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.PixelFormat;
import android.graphics.drawable.Drawable;

public class BitMapDrawableUtil {
	//Bitmap 转 Byte[]
		public static byte[] getBitmapByte(Bitmap bitmap){
			ByteArrayOutputStream out = new ByteArrayOutputStream();
			bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
			try {
				out.flush();
				out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return out.toByteArray();
		}
		
		//Byte[] 转 Bitmap
		public static Bitmap getBitmapFromByte(byte[] temp){
			if(temp != null){
				Bitmap bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);
				return bitmap;
			}else{
				return null;
			}
		}
		
		//Drawable 转 Bitmap
		public static Bitmap drawableToBitmap(Drawable drawable){  

	        int width = drawable.getIntrinsicWidth();  

	        int height = drawable.getIntrinsicHeight();  

	        Bitmap bitmap = Bitmap.createBitmap(width, height,  

	                drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  

	                        : Bitmap.Config.RGB_565);  

	        Canvas canvas = new Canvas(bitmap);  

	        drawable.setBounds(0,0,width,height);  

	        drawable.draw(canvas);  

	        return bitmap;  

	    }  
		
		//Bitmap 转 Drawable
		//Drawable drawable = new FastBitmapDrawable(bitmap);
}
